encyklopedia.space

ISO/IEC 8859‑11

ISO/IEC 8859‑11 – jedyna część serii ISO/IEC 8859 przeznaczona do kodowania znaków języka tajskiego. Standard ten definiuje 8‑bitowy zestaw znaków, który jest rozszerzeniem ASCII o dodatkowe znaki niezbędne do zapisu języka tajskiego.

Historia

W latach 1990–1993 w wyniku rosnącego zapotrzebowania na komputerowe przetwarzanie tekstu w Tajlandii, opracowano kodowanie Thai‑8, które później zostało przyjęte jako międzynarodowy standard ISO/IEC 8859‑11. Standard został oficjalnie opublikowany w 1999 roku przez ISO i IEC.

Zakres normy

  • Definicja 256 kodów bajtowych (0‑255). Kody 0‑127 są zgodne z ASCII.
  • Kody 128‑255 zawierają znaki tajskie, cyfry arabskie, znaki interpunkcyjne oraz niektóre symbole typograficzne.
  • Standard nie definiuje znaków sterujących (np. CR, LF) – pozostają one zgodne z ASCII.
  • Zawiera także znaki non‑spacing marks (znaki diakrytyczne) używane w języku tajskim, które muszą być renderowane w połączeniu z poprzedzającą literą.

Struktura kodów

Zakres Opis Przykładowe znaki
0‑127 Standardowy zestaw ASCII A, B, C, 0‑9, punctuation
160‑191 Znaki tajskie – spółgłoski ก (ko kai), ข (kho khai), …
192‑207 Znaki tajskie – samogłoski ะ (sara a), ิ (sara i), …
208‑239 Znaki tajskie – znaki diakrytyczne (non‑spacing marks) ั (mai han‑akat), ั (mai ek), …
240‑255 Dodatkowe symbole i znaki specjalne ©, ®, €, ฿ (baht)

Powiązania z innymi standardami

ISO/IEC 8859‑11 jest ściśle powiązany z następującymi standardami:

  • Unicode – wszystkie znaki ISO/IEC 8859‑11 mają bezpośrednie odpowiedniki w bloku Thai (U+0E00–U+0E7F). Najczęściej kodowanie to UTF‑8, które jest kompatybilne wstecz z ISO/IEC 8859‑11.
  • ISO/IEC 8859‑1 (tzw. Latin‑1) – jedyny inny członek serii, który zawiera jedynie znaki zachodnioeuropejskie; ISO/IEC 8859‑11 jest jedyną częścią serii dedykowaną językowi azjatyckiemu.
  • Windows‑874 – popularna odmiana kodowania tajskiego w systemie Windows, różniąca się niektórymi pozycjami znaków od ISO/IEC 8859‑11.

Zastosowanie

Chociaż od początku XXI wieku dominują rozwiązania oparte na Unicode, ISO/IEC 8859‑11 wciąż jest wykorzystywane w:

  • Starszych systemach operacyjnych i bazach danych w Tajlandii.
  • Urządzeniach wbudowanych (np. kioski, drukarki fiskalne) z ograniczoną pamięcią.
  • Eksportowaniu i wymianie danych w formacie CSV, gdzie prostota 8‑bitowego kodowania jest ceniona.

Implementacja w językach programowania

Większość nowoczesnych języków posiada wbudowaną obsługę ISO/IEC 8859‑11 poprzez biblioteki kodowania znaków. Przykłady:

  • Python: bytes.decode('iso-8859-11') i str.encode('iso-8859-11').
  • Java: Charset.forName("ISO-8859-11").
  • PHP: funkcje iconv() oraz mb_convert_encoding().

Kontrowersje i ograniczenia

ISO/IEC 8859‑11 nie zawiera wszystkich znaków używanych w nowoczesnym języku tajskim, m.in. nie ma wsparcia dla niektórych znaków typograficznych i znaków kontrolnych używanych w systemach telekomunikacyjnych. Dlatego w praktyce często preferuje się Unicode, który zapewnia pełną kompatybilność.

Patrz także

Bibliografia

  1. International Organization for Standardization. ISO/IEC 8859‑11:1999 – Information technology – 8‑bit single‑byte coded graphic character sets – Part 11: Thai.
  2. Unicode Consortium. The Unicode Standard, Version 15.0, sekcja “Thai”.
  3. J. K. Lee, M. S. H. Wong. Character Encoding for Asian Languages, 2002.